package com.tansun.ruledata.data.service;

import com.tansun.rule.exception.RuleInvokeException;

public interface RuleResourceLoadService {
	   /**
	    * 加载项目入口
	    * @param ruleObjectName
	    */
	   public   void   loadEnterPoint(String ruleObjectName,String  invokePoint );
	   /**
	    * 加载入口部署资源
	    * @param ruleObjectName
	    * @param invokePoint
	    * @throws RuleInvokeException 
	    */
	   public   void   loadEnterPointDeployResource(String ruleObjectName,String invokePoint) throws Exception;
	   /**
	    * 加载项目数据模型信息
	    * @param ruleObjectName
	    */
	   //public   void   loadProjectDataMapping(String ruleObjectName,String timeStamp);
	   public void loadProjectDataMapping(String ruleObjectName);
	   /**
	    * 加载已部署规则信息(部署到rule_deploy_manage表中的规则流信息)
	    * @param ruleObjectName
	    * @param invokePoint
	    * @throws Exception
	    */
	   public void loadDeployedRuleFlow(String ruleObjectName,String invokePoint) throws Exception;

	   /**
	    * 同步集群部署状态
	    * @param ruleObjectName
	    * @param invokePoint
	    */
	   public void sycCluster(String ruleObjectName,String invokePoint);
	   
	   /**
	    * 加载项目引用规则
	    */
	   public  void  loadProjectRefeDrl(String  ruleObjectName,String enterPoint);

	   public  void  loadRuleFunctionDrl(String ruleObjectName);

	   /**
	    * 加载项目下所有PMML模型
	    * @param ruleObjectName
	    */
	   public void loadProjectPmml(String ruleObjectName);
	   /**
	    * 加载项目下所有PMML模型对应的变量
	    * @param ruleObjectName
	    */
	   public void loadProjectPmmlRefData(String ruleObjectName);
	   /**
	    * 加载项目信息
	    * PMML模型对应的变量
	    * PMML模型
	    * 项目引用规则
	    * @param ruleObjectName
	    * @param timeStamp
	    */
	   public void loadProjectPmmlFuncDrl(String ruleObjectName,String enterPoint,String timeStamp);
}
